package JVM.第05篇_执行引擎篇;

/**
 * 问题来了!
 * 有些开发人员会感觉到诧异，既然HotSpot VM中已经内置JIT编译器了，
 * 那么为什么还需要再使用解释器来“拖累"程序的执行性能呢?
 * 比如JRockit VM内部就不包含解释器，字节码全部都依靠即时编译器编译后执行。
 *
 * 首先明确:
 * 当程序启动后，解释器可以马上发挥作用，省去编译的时间，立即执行。
 * 编译器要想发挥作用，把代码编译成本地代码，需要一定的执行时间。
 * 但编译为本地代码后，执行效率高。
 * 所以:
 * 尽管JRockit VM中程序的执行性能会非常高效，但程序在启动时必然而要花费更长的时间来进行编译。
 * 对于服务端应用来说，启动时间并非是关注重点，但对于那些看中启动时间的应用场景而言，
 * 或许就需要采用解释器与即时编译器并存的架构来换取一个平衡点。
 * 在此模式下，当Java虚拟器启动时，解释器可以首先发挥作用，
 * 而不必等待即时编译器全部编译完成后再执行，这样可以省去许多不必要的编译时间。
 * 随着时间的推移，编译器发挥作用，把越来越多的代码编译成本地代码，获得更高的执行效率。
 *
 */
public class C3_编译和解释区别 {

}
